package com.stylefeng.guns.rest.modular.App.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.rest.modular.App.model.TaskRelease;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 
 * 抢单释放记录表 Mapper 接口 
 * @author 张亚林
 * @Date 2018-11-12 17:46
 */
@Mapper
public interface TaskReleaseMapper extends BaseMapper<TaskRelease> {
    /**
     * 删除抢单释放记录表
     * @param  taskRelease
     * @return    
     */
    int deleteTaskRelease(TaskRelease taskRelease)throws Exception;
    /**
     * 批量抢单释放记录表
     * @param ids 主键id数组
     * @return     
     */
    int deleteBatchTaskRelease(String[] ids)throws Exception;
    /**
     * 查询抢单释放记录表列表
     * @param taskRelease 抢单释放记录表对象
     * @return      
     */
    List<TaskRelease> selectListTaskRelease(TaskRelease taskRelease)throws Exception;
    /**
     * 分页查询抢单释放记录表列表
     * @param page  分页对象
     * @param taskRelease 系统操作对象
     * @return
     * @Date 2018-10-02
     */
    List<TaskRelease> selectListTaskRelease(Page page, TaskRelease taskRelease)throws Exception;


    /**
     * 同一个事务 互斥锁查询
     * @param taskRelease 系统操作对象
     * @return     
     */
    List<TaskRelease> selectListTaskReleaseForUpdate(TaskRelease taskRelease)throws Exception;
    /**
     * 通过主键ID查询抢单释放记录表对象
     * @param id 主键id
     * @return    
     */
    TaskRelease findTaskReleaseById(String id)throws Exception;

    /**
     * 插入抢单释放记录表
     * @param taskRelease
     * @return   
     */
    int insertTaskRelease(TaskRelease taskRelease) throws Exception ;
    /**
     * 更新抢单释放记录表
     * @param taskRelease
     * @return     
     */
    int updateTaskRelease(TaskRelease taskRelease) throws Exception ;
    /**
     * 拒绝接单 更新抢单过程 保存释放原因
     * @param taskRelease
     * @return
     */
    int updateTaskReleaseRefuse(TaskRelease taskRelease) throws Exception;

}
